home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
iguana
/
incosrc
/
incosrc.exe
/
SPI
/
GENCOS.PAS
next >
Wrap
Pascal/Delphi Source File
|
1993-07-25
|
2KB
|
84 lines
CONST
Header: STRING = 'Rotation table for spiral';
OutFile: STRING = 'SpiPoss';
DataType: STRING = 'DW';
DataLen = 3;
VAR
fo : TEXT;
fi : FILE OF BYTE;
i, j, k : INTEGER;
r : REAL;
a : WORD;
CONST
bc : INTEGER = 0;
PROCEDURE DoNum(b: WORD);
BEGIN
IF bc = 0 THEN BEGIN
WriteLn(fo);
Write(fo, ' ',DataType, ' ', b: DataLen);
END ELSE
Write(fo, ',', b : DataLen);
bc := (bc + 1) MOD 12;
END;
LABEL
bail;
CONST
Radius : REAL = 197;
BEGIN
Assign(fo, OutFile+'.inc');
ReWrite(fo);
WriteLn(fo, '; ----- ', Header, '. ------------');
a := 0;
FOR i := 1 TO 57 DO BEGIN
DoNum(ROUND((Radius-i)/2*Cos(a*PI/150.0)+160.0));
DoNum(ROUND((Radius-i)/2*Sin(a*PI/150.0)+99.0));
INC(a);
DoNum(i)
END;
WriteLn(fo);
WriteLn(fo, 'CirclePosition LABEL WORD');
bc := 0;
FOR i := 1 TO 300 DO BEGIN
r := 15.0*Cos(a*PI/30.0)+57.0-15.0;
DoNum(ROUND((Radius-r)/2*Cos(a*PI/150.0)+160.0));
DoNum(ROUND((Radius-r)/2*Sin(a*PI/150.0)+99.0));
INC(a);
DoNum(ROUND(r))
END;
WriteLn(fo);
WriteLn(fo, 'CircleByeBye LABEL WORD');
bc := 0;
FOR i := 57 DOWNTO 1 DO BEGIN
r := 15.0*Cos(a*PI/30.0)+57.0-15.0;
IF r = 57-15 THEN
GOTO bail;
DoNum(ROUND((Radius-r)/2*Cos(a*PI/150.0)+160.0));
DoNum(ROUND((Radius-r)/2*Sin(a*PI/150.0)+99.0));
INC(a);
DoNum(ROUND(r))
END;
bail:
FOR i := 57-15 DOWNTO 1 DO BEGIN
DoNum(ROUND((Radius-i)/2*Cos(a*PI/150.0)+160.0));
DoNum(ROUND((Radius-i)/2*Sin(a*PI/150.0)+99.0));
INC(a);
DoNum(i)
END;
Close(fo)
END.